package ranab.server.ftp.gui;

import javax.swing.JPanel;
import ranab.server.ftp.FtpConfig;

/**
 * All ftp panels implement this interface.
 */
public
abstract class PluginPanel extends JPanel {

    protected FtpTree mTree; 
    
    /**
     * Constructor - set the ftp tree object.
     */
    public PluginPanel(FtpTree tree) {
        mTree = tree;
    }
    
    /**
     * Get ftp tree object.
     */
    public FtpTree getTree() {
        return mTree;
    }
    
    /**
     * Reload new configuration. Config object can be null
     */ 
    public abstract void refresh(FtpConfig config);
    
    /**
     * Is displayable in the root pane.
     */
    public abstract boolean isDisplayable(); 
     
}